package 矩阵

/*
https://leetcode.cn/problems/rotate-image/?envType=study-plan-v2&envId=top-100-liked

48. 旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像，这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1：
输入：matrix =[
[1,2,3],
[4,5,6],
[7,8,9]
]
输出：[
[7,4,1],
[8,5,2],
[9,6,3]
]

示例 2：
输入：matrix = [
[5,1,9,11],
[2,4,8,10],
[13,3,6,7],
[15,14,12,16]
]
输出：[
[15,13,2,5],
[14,3,4,1],
[12,6,8,9],
[16,7,10,11]
]
*/
func rotate(matrix [][]int) {
	n := len(matrix)

	for i := 0; i < n/2; i++ {
		for j := 0; j < (n+1)/2; j++ {
			matrix[i][j], matrix[n-1-j][i], matrix[n-1-i][n-1-j], matrix[j][n-1-i] =
				matrix[n-1-j][i], matrix[n-1-i][n-1-j], matrix[j][n-1-i], matrix[i][j]
		}
	}
}
